iT邦幫忙

2021 iThome 鐵人賽

DAY 12
0

我們透過 Docker Compose 建立環境,並在其上建立Django REST Framework服務應用。在這裡分階段帶大家一起實作。

實作

  1. 首先開啟一個資料夾,可以任意取名,我這邊姑且將其取名為 first_api
  2. 建立 first_api 資料夾之後,我們在其中新增requirements.txt。
    requirements.txt是用來記錄系統所使用到的python套件名稱,並讓程式可以透過讀取此檔案來進行套件之下載。
    在這邊我們的requirements.txt內容為
django>=3.2.0
djangorestframework>=3.9.0,<3.10.0
PyMySQL==0.9.3
django-cors-headers==3.4.0
  1. 建立 Dockerfile
from python:3.7-alpine
MAINTAINER Jimmy

ENV PYTHONBUFFERED 1

COPY ./requirements.txt /requirements.txt
RUN pip install -r /requirements.txt

RUN mkdir /app
WORKDIR /app
COPY ./app /app
  1. 在同資料夾建立 docker-compose.yml,內容如如下
version: "3"

services:
  app:
    build:
        context: .
    ports:
      - "9000:9000"
    volumes:
      - ./app:/app
    command: >
      sh -c "python manage.py runserver 0.0.0.0:9000"

  db:
    image: mysql:5.7
    restart: always
    environment:
      MYSQL_DATABASE: 'db'
      MYSQL_USER: 'admin'
      MYSQL_PASSWORD: 'admin'
      MYSQL_ROOT_PASSWORD: 12345678
    ports:
      - '3306:3306'


  1. 下達 docker-compose build 指令
docker-compose build
  1. 建立 Django 專案
docker-compose run app sh -c "django-admin startproject app ."
  1. 在 app/settings.py 的 INSTALLED_APPS 當中加入 'rest_framework'
INSTALLED_APPS = [
   ...
   'rest_framework',
]
  1. 下達 docker-compose up 指令啟動服務
docker-compose up 

透過以上步驟設定 DRF 服務透過 Docker Compose運行。我們結合了過去所分享給大家的操作方法,今天整合性的實作一次,希望大家能夠建置成功囉~


上一篇
[Day11] - Django REST Framework 介紹
下一篇
[Day13] - 於 Django 中進行資料庫設定
系列文
使用Django Rest Framework, Docker, Docker Compose 製作後端服務應用30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言